package app;

import java.rmi.RemoteException;
import java.util.ArrayList;

import beans.CajaVO;
import beans.MesaVO;
import beans.PedidoVO;
import beans.RestauranteVO;
import beans.SolicitudReposicionVO;

import web.bdelegate.BDelegate_Web;

public class Controlador_Web
{
	private BDelegate_Web proxy;
	private static Controlador_Web instancia = null;
	
	private Controlador_Web() 
	{
		super();
		try 
		{
			proxy = new BDelegate_Web();
		} 
		catch (RemoteException e) 
		{
			e.printStackTrace();
		}
	}
	
	public static Controlador_Web getInstancia()
	{
		if(instancia==null)
		{
			instancia = new Controlador_Web();
		}
		return instancia;
	}

	private BDelegate_Web getProxy()
	{
		return proxy;
	}
	
	public MesaVO abrirMesa(String nroMesa , String cantPersonas)
	{
		BDelegate_Web proxy = getProxy();
		return proxy.abrirMesa(nroMesa, cantPersonas);
	}

	public MesaVO cerrarMesa(String nroMesa)
	{
		
		BDelegate_Web proxy = getProxy();
		return proxy.cerrarMesa(nroMesa);
	}

	public MesaVO liberarMesa(String nroMesa)
	{
		
		BDelegate_Web proxy = getProxy();
		return proxy.liberarMesa(nroMesa);
	}

	public CajaVO abrirCaja() 
	{
		BDelegate_Web proxy = getProxy();
		return proxy.abrirCaja();
	}

	public CajaVO cerrarCaja(String montoAMano) 
	{
		BDelegate_Web proxy = getProxy();
		return proxy.cerrarCaja(montoAMano);
	}

	public RestauranteVO abrirRestaurante(String id)
	{
		BDelegate_Web proxy = getProxy();
		return proxy.abrirRestaurante(id);
	}

	public SolicitudReposicionVO obtenerSolicitudRep (String sector)
	{
		BDelegate_Web proxy = getProxy();
		return proxy.obtenerSolicitudRep(sector);
	}

	public PedidoVO generarPedido (ArrayList<Integer> idPlatos,
			int numeroMesa, int dniMozo, boolean isFacturable)
	{
		BDelegate_Web proxy = getProxy();
		return proxy.generarPedido(idPlatos, numeroMesa, dniMozo, isFacturable);
	}
}
